<template>
  <main>
    <div class="tabs-page">
      <ins-table :tabledata="tableData" :columobj="columObj" :pageobj="pageObj">
      </ins-table>
    </div>
  </main>
</template>
<script>
import InsTable from '@/components/Global/Table';
import LoadingMixin from '@/components/Mixins/LoadingMixin';
import i18n from '@/utils/i18n';
import { reactive } from 'vue';
import { NotifySuccess, NotifyError, MessageBoxInfo } from '@/utils/validate';

export default {
  name: 'MetricsCtlShow',
  components: { InsTable },
  mixins: [LoadingMixin],
  data() {
    return {
      labelWidth: '130px',
      ctrl_disabled: false,
      pageObj: {
        //分页对象
        position: 'right', //分页组件位置
        display: 'none', //分页是否展示 默认展示
        pageSize: 100 //分页组件不展示页面大于10条时使用
      },
      timerId: null,
      dialogVisible: false // 弹框的出现与否
    };
  },
  computed: {
    columObj() {
      return {
        // 选择框
        selection: false,
        //表格展开
        expand: false,
        lazy: 'true',
        //表格的头名称
        columnData: [
          {
            text: true,
            prop: 'Name',
            label: i18n.global.t('securityMetrics.name'),
            width: '',
            align: 'left',
            sortable: true //开启排序
          },
          {
            text: true,
            prop: 'Value',
            label: i18n.global.t('securityMetrics.value'),
            width: '',
            align: 'left',
            sortable: false
          },
          {
            text: true,
            prop: 'Base',
            label: i18n.global.t('securityMetrics.base'),
            width: '',
            align: 'left',
            sortable: false
          },
          {
            status: true,
            prop: 'Status',
            label: i18n.global.t('securityMetrics.status'),
            width: '',
            height: '20px',
            align: 'left',
            sortable: false
          }
        ]
      };
    },
    tableData() {
      if (typeof this.$store.getters['chassis/metricsInfo'] == 'undefined') {
        return [];
      } else {
        return this.$store.getters['chassis/metricsInfo'];
        // return [
        //     {
        //         Name: "BIOS",
        //         Value: "3421233445",
        //         Status: "Pass"
        //     },
        //     {
        //         Name: "GRUB",
        //         Value: "3421233445",
        //         Status: "Pass"
        //     },
        //     {
        //         Name: "SHIM",
        //         Value: "3421233445",
        //         Status: "Pass"
        //     },
        //     {
        //         Name: "OS",
        //         Value: "3421233445",
        //         Status: "Pass"
        //     },
        //     {
        //         Name: "CPU",
        //         Value: "3421233445",
        //         Status: "Pass"
        //     },
        //     {
        //         Name: "MEMORY",
        //         Value: "3421233445",
        //         Status: "Pass"
        //     },
        //     {
        //         Name: "PCIE",
        //         Value: "3421233445",
        //         Status: "Pass"
        //     }
        // ]
      }
    }
  },
  created() {
    this.startLoading();
    this.$store.dispatch('chassis/getTrustedMetricsInfo', this.$redfishField).then(() => {
      this.endLoading();
    });
  },
  //定时
//   mounted() {
//     this.timerId = setInterval(() => {
//       this.$store.dispatch('chassis/getFanInfo', this.$redfishField);
//     }, 3000);
//   },
//   //销毁定时
//   beforeUnmount() {
//     clearInterval(this.timerId);
//   },
  methods: {
    // initFanCtrlMode(data) {
    //   if (data == 'Auto') {
    //     this.ctrl_disabled = true;
    //     this.ctr_mode = '1';
    //   } else {
    //     this.ctrl_disabled = false;
    //     this.ctr_mode = '0';
    //   }
    // },
    // initFanSmartCooling(data) {
    //   this.smartCoolingData = data;
    //   this.smartCooling = data.SmartCooling;
    //   this.coolingMode = data.CoolingMode;
    // },
    // changeCtlMode() {
    //   let data = reactive({
    //     Oem: {}
    //   });
    //   data.Oem[`${this.$redfishField.oem_info}`] = {};
    //   if (this.ctr_mode == '1') {
    //     data.Oem[`${this.$redfishField.oem_info}`].FanControlMode = 'Auto';
    //   } else {
    //     data.Oem[`${this.$redfishField.oem_info}`].FanControlMode = 'Manual';
    //   }
    //   let datas = {
    //     data: data,
    //     redfish_id: this.$redfishField
    //   };
    //   MessageBoxInfo(this.$t('fan.confirm_operation'))
    //     .then(() => {
    //       this.$store
    //         .dispatch('chassis/setFanCtrlMode', { datas })
    //         .then(() => {
    //           NotifySuccess(this.$t('fan.strongSuccessMsg'));
    //         })
    //         .catch(() => {
    //           NotifyError(this.$t('fan.strongFailureMsg'));
    //         });
    //     })
    //     .catch(() => {
    //       this.ctr_mode = this.ctr_mode == '0' ? '1' : '0';
    //       return;
    //     });
    // },
    // rowOperation1(row) {
    //   this.rowOperation(row.Id, 20);
    // },
    // rowOperation2(row) {
    //   this.rowOperation(row.Id, 50);
    // },
    // rowOperation3(row) {
    //   this.rowOperation(row.Id, 75);
    // },
    // rowOperation4(row) {
    //   this.rowOperation(row.Id, 100);
    // },
    // rowOperation(id, val) {
    //   let data = reactive({
    //     Fans: []
    //   });
    //   data.Fans[0] = {};
    //   data.Fans[0].Oem = {};
    //   data.Fans[0].Oem[`${this.$redfishField.oem_info}`] = {};
    //   data.Fans[0].Oem[`${this.$redfishField.oem_info}`].SpeedRatio = val;
    //   data.Fans[0].Oem[`${this.$redfishField.oem_info}`].FanIndex =
    //     parseInt(id);
    //   let datas = {
    //     data: data,
    //     redfish_id: this.$redfishField
    //   };
    //   this.$store.dispatch('chassis/setFanSpeedRatio', { datas });
    // },
    // dialogOpen() {
    //   this.dialogVisible = true;
    // },
    // dialogClose() {
    //   this.dialogVisible = false;
    // }
  }
};
</script>
